A low-consumption design is a big challenge for a video encoder. After analysis, motion estimation, fractional pixel interpolation, intra-frame prediction, transform quantization, and loop filtering are main factors affecting power consumption of the encoder.
In the prior art, a manner of disabling some encoding tools such as a fast intra-frame prediction technology is generally used to reduce power consumption. Image texture information is analyzed to select whether to disable the intra-frame prediction or disable some predication modes. If regions with flat textures are detected, a prediction mode with a relatively large block is adopted for these regions, such as 16×16 intra-frame prediction in H.264, whereas 4×4 intra-frame prediction is disabled. On the contrary, if regions with complex textures are detected, a prediction mode with a relatively small block is adopted, such as the 4×4 intra-frame prediction in H.264, whereas the 16×16 intra-frame prediction is disabled. Such a method may significantly reduce types of prediction modes, thereby reducing power consumption. However, an additional circuit needs to be added to determine a degree of complexity of a texture. As a result, the design is relatively complicated. In addition, the added circuit may also increase power consumption. Further, after analysis, it can be learned that fractional pixel motion estimation requires a large amount of filtering logic. Therefore, disabling a fractional pixel filter module in video encoding may also achieve the effect of significantly reducing dynamic power consumption of the encoder. However, disabling the fractional pixel motion estimation and using only integer pixel motion estimation may bring about a decline in compression efficiency. This impact is particularly obvious in a case of complex motion of a large range.